Rancher Desktop - containerdでローカルイメージをビルドしてK8sで使用する

例えば kind (Kubernetes IN Docker) では ビルドしたDockerイメージをロードしてK8sで利用できる。

# https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster
$ kind load docker-image $IMAGE:$TAG

Rancher Desktopはコンテナランタイムをdockerd containerdいずれか選択でき、 それぞれのCLI docker nerdctlがバンドルされている。

containerdを選択したときにはnamespaceにk8s.ioを指定してビルドすればよい。

# https://docs.rancherdesktop.io/tutorials/working-with-images/#building-local-images
$ nerdctl build --namespace k8s.io -t $IMAGE:$TAG .

ちなみにkindはcontainerd本体にバンドルされているctrでnamespaceにk8s.ioを指定してイメージをロードしているのでやっていることは同じ。
https://github.com/kubernetes-sigs/kind/blob/v0.20.0/pkg/cluster/nodeutils/util.go#L85

← Posts